#ifndef CCURVA_H_INCLUDED
#define CCURVA_H_INCLUDED
#include "cPonto.h"
#include <list>
#include <map>

class Curva {
    private:

    public:
        std::list<Ponto*> pontos;

        Curva();

        bool inserePonto(Ponto * p);
        Ponto * getPontoEm(int x, int y);
        void forcaInserePonto(Ponto * p);
        void removePonto(Ponto * p);
        void removePontoMarcado();
        void marcaPonto(Ponto * p);
        int calcComprimento();

        Ponto calculaDeCasteljau(float t);
        void aumentaGrau();
};

#endif // CCURVA_H_INCLUDED
